package kr.or.kosta.otr.service.adminservice;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;

import kr.or.kosta.otr.utill.NoticeListVO;
import kr.or.kosta.otr.vo.CompanyVO;
import kr.or.kosta.otr.vo.IndustryVO;
import kr.or.kosta.otr.vo.MentorVO;
import kr.or.kosta.otr.vo.MessageTypeVO;
import kr.or.kosta.otr.vo.MessageVO;
import kr.or.kosta.otr.vo.NoticeVO;
import kr.or.kosta.otr.vo.ProfessionVO;
import kr.or.kosta.otr.vo.RegionVO;
import kr.or.kosta.otr.vo.UserVO;

public interface AdminService {
	void addCompany(CompanyVO vo) throws SQLException;
	ArrayList<CompanyVO> getCompanyInfo(HashMap<String, Object> map) throws SQLException;
	IndustryVO getIndustry(HashMap<String, Object> map) throws SQLException;
	RegionVO getRegion(HashMap<String, Object> map) throws SQLException;
	void deleteCompany(int companyId) throws SQLException;
	CompanyVO getOneCompany(int companyId) throws SQLException;
	void updateCompany(CompanyVO vo) throws SQLException;
	NoticeVO writeNotice(NoticeVO vo) throws SQLException;
	void updateNotice(NoticeVO vo) throws SQLException;
	void deleteNotice(int noticeId) throws SQLException;
	NoticeVO getOneNotice(int noticeId) throws SQLException;
	ArrayList<NoticeVO> getAllNotice() throws SQLException;
	NoticeListVO getNoticeListByPage(String pageNo) throws SQLException;
	ArrayList<CompanyVO> getAllCompany() throws SQLException;
	ArrayList<IndustryVO> getAllIndustry() throws SQLException;
	ArrayList<ProfessionVO> getAllProfession() throws SQLException;
	ArrayList<RegionVO> getAllRegion() throws SQLException;
	CompanyVO checkCompany(HashMap<String, String> map ) throws SQLException;
	void writeMessage (MessageVO vo)throws SQLException;
	ArrayList<MessageTypeVO> getAllMessageType()throws SQLException;
	MessageTypeVO getMessageType(HashMap<String, Object> map)throws SQLException;
	void addMentor(MentorVO vo)throws SQLException;
	CompanyVO getOneCompanyByName(String companyName)throws SQLException;
	boolean isExist(String userId)throws SQLException;
	int isExistMentor(HashMap<String, Object> map)throws SQLException;
	
	ArrayList<UserVO> getAllUser(String adminId)throws SQLException;
	void deleteUser(String userId)throws SQLException;
	ArrayList<UserVO> getOneUserByUserId(HashMap<String, String> map)throws SQLException;
	
	ArrayList<MentorVO> getAllMentor(HashMap<String, Object> map)throws SQLException;
	void updatePointMinus(HashMap<String, Object> map)throws SQLException;
	void deleteMentor(int mentorId)throws SQLException;
}
